package com.sc.nft.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sc.nft.entity.DaoAttention;
import com.sc.nft.entity.UserInfo;
import com.sc.nft.entity.dto.DaoAttentionListVO;
import com.sc.nft.entity.dto.DaoAttentionOrCancelDTO;
import com.sc.nft.entity.dto.DaoWhetherAttentionDTO;
import com.sc.nft.entity.vo.DaoWhetherAttentionVO;
import com.sc.nft.entity.vo.WhetherAttentionVO;
import com.sc.nft.sup.PageRequest;

/**
 * dao关注(DaoAttention)表服务接口
 *
 * @author 王伟成
 * @since 2024-03-06 17:05:20
 */
public interface DaoAttentionService {

    /**
     * 关注或取消关注
     *
     * @param user
     * @param request
     */
    void attentionOrCancel(UserInfo user, DaoAttentionOrCancelDTO request);
    /**
     * 查看用户是否关注当前dao
     *
     * @param user
     * @param request
     * @return
     */
    DaoWhetherAttentionVO whetherAttention(UserInfo user, DaoWhetherAttentionDTO request);
    /**
     * 用户关注的dao列表
     *
     * @param user
     * @param pageRequest
     * @return
     */
    IPage<DaoAttentionListVO> attentionList(UserInfo user, PageRequest pageRequest);
}
